<Schema name="BtmDataTypesSchema"
 	xmlns="urn:schemas-microsoft-com:xml-data" 
	xmlns:dt="urn:schemas-microsoft-com:datatypes"
 	xmlns:fdt="x-schema:FDTDataTypesSchema.xml" 
> 

	<!--Definition of Attributes-->
	<AttributeType name="profile" dt:type="ui2"/>
	<AttributeType name="profileRevision" dt:type="ui2"/>
	<AttributeType name="blockTag" dt:type="string"/>
	<AttributeType name="blockCategory" dt:type="uuid"/>
	<AttributeType name="blockCategoryName" dt:type="string"/>
	<AttributeType name="usage" dt:type="enumeration" dt:values="contained input output eventSource eventSink"/>
	<AttributeType name="index" dt:type="ui4"/>
	<AttributeType name="slot" dt:type="ui4"/>
	<AttributeType name="label"  dt:type="string" />

	<!--Definition of Elements-->
	<ElementType name="BtmVariable" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="label" required="yes"/>
		<attribute type="index" required="yes"/>
		<attribute type="slot" required="no"/>
		<attribute type="fdt:descriptor" required="no"/>
		<attribute type="usage" required="yes"/>
		<element type="fdt:Value" minOccurs="1" maxOccurs="1"/>
		<element type="fdt:Unit" minOccurs="0" maxOccurs="1"/>
		<element type="fdt:Ranges" minOccurs="0" maxOccurs="1"/>
		<attribute type="fdt:statusFlag" required="no"/>
		<element type="fdt:StatusInformation" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	
	<ElementType name="BtmVariables" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="label" required="yes"/>
		<attribute type="index" required="yes"/>
		<group order="many">
			<element type="BtmVariables" minOccurs="0" maxOccurs="*"/>
			<element type="BtmVariable" minOccurs="0" maxOccurs="*"/>
		</group>
	</ElementType>
	
	<ElementType name="BlockIcon" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:path" required="yes"/>
	</ElementType>
	
	<ElementType name="BlockTypeCategory" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="blockCategory" required="yes"/> 
		<attribute type="blockCategoryName" required="no"/>
	</ElementType>
	
	<ElementType name="BtmBlockType" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:readAccess" required="no"/>
		<attribute type="fdt:writeAccess" required="no"/>
		<attribute type="fdt:manufacturerId" required="no"/>
		<attribute type="profile" required="no"/>
		<attribute type="profileRevision" required="no"/>
		<element type="fdt:VersionInformation" minOccurs="1" maxOccurs="1"/>
		<element type="fdt:SupportedLanguages" minOccurs="0" maxOccurs="1"/>
		<element type="BlockTypeCategory" minOccurs="0" maxOccurs="1"/>			
		<element type="fdt:BusCategories" minOccurs="1" maxOccurs="1"/>	
		<element type="BlockIcon" minOccurs="0" maxOccurs="1"/>	
	</ElementType>
</Schema>
